package com.mark.service;

import com.mark.entity.school.MyClaStuTable;
import com.mark.entity.school.UPatriarch;
import com.mark.entity.school.UStudent;
import org.springframework.web.bind.annotation.RequestBody;


import java.util.ArrayList;
import java.util.List;

/**
 * (UStudent)表服务接口
 *
 * @author Deng PengFei
 * @since 2021-10-27 11:17:38
 */
public interface UStudentService {


    /**
     * 新增一个学生对象
     *
     * @param uStudent   学生对象实例
     * @param uPatriarch 学生家长实例对象
     * @param relation   亲属关系
     * @return 1001 成功 、 1002 学生已经存在，1003 失败
     */
    Integer addStudent(UStudent uStudent, UPatriarch uPatriarch,String relation);




    /**
     * 查询指定行数据 也可以通过姓名的学号查询
     * @param queryInfo   学号或者姓名
     * @return 对象列表
     */
    List<MyClaStuTable> getClaStuPatListByClaId(Integer claId,String queryInfo);


    /**
     * 根据学号来重置学生密码
     * @param stuId 学号
     * @return 存在结果
     */
    String restStuPassBuSno(Integer stuId);


    /**
     * 批量导入学生信息
     * @param stuList 读取到的学生excl表格
     * @param claId 班级id
     */
    void importStuList(ArrayList<ArrayList<String>> stuList,Integer claId);


    /**
     * 批量删除学生信息
     * @param members 学生成员
     * @return true 成功 false 失败
     */
    Boolean delStuList( List<MyClaStuTable> members);


    /**
     * 学生转移班级
     *
     * @param members 要转移的成员
     * @param newCla  新的班级
     * @return true 成功 ，false 失败
     */
    Boolean shiftStuList(@RequestBody List<MyClaStuTable> members, Integer newCla);
}